﻿using System;
namespace Moonlite.Services.CodeCompletion
{
    public class AndromedaObjectMethod : AndromedaObjectWithSpecificChildren, IAndromedaObjectWithName, IAndromedaObjectWithImageIndex, IAndromedaMemberOfType, IAndromedaObjectWithVisibility
    {
        public int ImageIndex { get { return AndromedaImageIndexes.ImageIndexMethod; } }
        public string Name { get; set; }
        public string Visibility { get; set; }
        public string Type { get; set; }
        public string FullParameters { get; set; }
        public string Signature { get; set; }
        public bool Final { get; set; }
        public bool Abstract { get; set; }
        public bool Static { get; set; }
        public bool Native { get; set; }
        public bool Override { get; set; }
        private AndromedaObjectFieldCollection parameters = new AndromedaObjectFieldCollection();
        public AndromedaObjectFieldCollection Parameters
        {
            get { return parameters; }
        }

        public override string ToString()
        {
            return Name + "(" + Signature + ")";
        }

        public AndromedaObjectMethod()
        {

        }

        public AndromedaObjectMethod(AndromedaObject parent)
            : base(parent)
        {

        }
    }
}
